// 封装 axios 方法

import axios from 'axios'

import { Toast } from 'vant'

// 封装axios get请求方法
let reqGet = (url, params = {}) => {
    return axios.get(url, { params })
}
// 封装axios post 请求方法
let reqPost = (url, params = {}) => {
    return axios.post(url, params)
}

// 设置拦截器

// 1、请求拦截，可以统一的设置请求的参数，比如统一在headers中token
axios.interceptors.request.use(config => {

    console.log(config,"请求拦截");
    if (config.url != '/api/login' && config.url != '/api/register' ) {
        // console.log(config,"请求拦截");
        let user = JSON.parse(localStorage.user)
        config.headers.authorization = user.token //登录成功后设置了token字符串到locastorage，从缓存中获取的

        config.headers['content-Type'] ='application/json'
        /* if(config.url == '/api/settlement'){
            config.headers['content-Type'] =application/json
        } */
    }



    return config  //必须return，否则请求信息不会发送给服务器
})
// // 2、响应拦截
axios.interceptors.response.use(res => {

    //   console.group('-------------------------')
      console.log(res,'响应拦截')
    // console.log('本次请求地址为:', res.config.url)
    //   console.log('本次结果为：', res.data)
    //   console.groupEnd('-------------------------')
    // console.log(res);
    if (res.data.code == 500) {
        Toast.fail(res.data.msg)
    }
    return res //否则后面拿不到结果
})

// 分别暴露
export { reqGet, reqPost }